package cn.yunyichina.provider.iface.service;

import cn.yunyichina.provider.iface.entity.common.ResCommon;
import cn.yunyichina.provider.iface.entity.dto.pay.*;
import cn.yunyichina.provider.iface.entity.dto.wechat.WechatWebPayRequestDTO;
import cn.yunyichina.provider.iface.entity.dto.wechat.WechatWebPayResponseDTO;
import cn.yunyichina.provider.iface.entity.pay.WechatMedicalBillDownloadRequest;
import cn.yunyichina.provider.iface.entity.pay.WechatMedicalBillDownloadResponse;
import cn.yunyichina.provider.iface.entity.wechat.WechatMedicalRefundRequest;
import cn.yunyichina.provider.iface.entity.wechat.WechatMedicalRefundResponse;

public interface IWechatpay extends IService {

    WechatMedicalRefundResponse wechatMedicalRefund(WechatMedicalRefundRequest request);

    ResCommon<WechatMicroPayResponseDTO> microWechatPay(WechatMicroPayRequestDTO wechatMicroPayRequestDTO);

    ResCommon<WechatOrderQueryResponseDTO> queryWechatOrder(WechatOrderQueryRequestDTO wechatOrderQueryRequestDTO);

    ResCommon<WechatOrderReverseResponseDTO> reverseWechatOrder(WechatOrderReverseRequestDTO wechatOrderReverseRequestDTO);

    ResCommon<WechatMedicalBillDownloadResponse> downloadWechatMedicalBill(WechatMedicalBillDownloadRequest request);

    ResCommon<WechatWebPayResponseDTO> webPay(WechatWebPayRequestDTO request);

}
